// 1. 导入
const Router = require('@koa/router')
const Mock = require('mockjs')

const db = require('../db')

// 2. 实例化
const router = new Router({
    // 实例化router的时候，可以写路由前缀
    prefix: '/api/v1'
})

router.post('/login', async (ctx, next) => {
    // console.log(ctx.params.username
    console.log(ctx.request.body)
    ctx.body = '登录页'
})
router.get('/user', async (ctx, next) => {
    // 假设user这个接口用不了 我们可以在这里做一个重定向
    // 坑点，如果设置了prefix,重定向的时候也要加
    // ctx.redirect('/api/v1/news')
    ctx.body = '用户信息'
})
router.get('/news/:id/:page', async (ctx, next) => {
    // 1. ctx.query获取以? 和 &的参数
    // console.log(ctx.query.id)
    // console.log(ctx.query.page)

    // 2. 动态路由的参数,ctx.params获取，写在路由上
    console.log(ctx.params)
    ctx.body = '新闻列表'
})
router.get('/list', async (ctx, next) => {
    const news = db.news()
    // 构造一个返回给前端的数据结构
    const res = {
        code: 10000,
        data: news
    }
    ctx.body = res
})
router.get('/mock', async (ctx, next) => {

    const data = Mock.mock({
        // 属性list的值是一个数组，其中含有1到10个元素
        'arrList|1-10': [{
            'id|+1': 1,
            'email': "@email",
            'title': "@cname",
            "city": "@image",
        }],
        "demo": 6666
    })

    // 构造一个返回给前端的数据结构
    const res = {
        code: 666,
        data: data
    }
    ctx.body = res
})
// 使用模块化导出router
module.exports = router